package cn.doit.dat06

object _05_科里化函数 {

  def main(args: Array[String]): Unit = {

    println(add(1, 2))
    println(add1(1)(2))
    //1.减少参数的传值
    add(100,0.1)
    add(100,0.2)
    add(100,0.3)
    add(100,0.4)

    val intToInt: Int => Int = add1(100)
    intToInt(1)
    intToInt(2)
    intToInt(3)
    intToInt(4)

    //能够更好的做类型的推断
//    def abc(a:A,b:a.B)/
//    def abc(a:A)(b:a.B)={}

    //用在隐式转换中的隐式参数




  }

  //两个参数同时卸载一个()中
  def add(shoujia:Int,zhekou:Double): Double ={
    shoujia * zhekou
  }

  //两个参数分别给了两个参数列表 ==》 科里化的写法
  def add1(a:Int)(b:Int)={
    a+b
  }
}

//class A {
//  class B{
//
//  }
//}
